package com.dhl.fin.api.service.messageService;

import com.dhl.fin.api.common.util.StringUtil;
import com.dhl.fin.api.constant.RemindConstant;
import com.dhl.fin.api.domain.ExtraJobCron;
import com.dhl.fin.api.domain.MensesRemindTask;
import com.dhl.fin.api.dto.TipMessageDTO;
import com.dhl.fin.api.service.messageService.superService.MensesTaskAbstract;

/**
 * @author CuiJianbo
 * @since 2025/6/8
 */
public class MenstruationMessage extends MensesTaskAbstract {

    public MenstruationMessage(MensesRemindTask mensesRemindTask, ExtraJobCron extraJobCron) {
        this.mensesRemindTask = mensesRemindTask;
        this.extraJobCron = extraJobCron;
    }

    @Override
    public TipMessageDTO tipMessage() {
        String tipMessage = "";
        if (StringUtil.isNotEmpty(extraJobCron.getRemark())) {
            if (extraJobCron.getRemark().equals(RemindConstant.MENSES_DAY)) {
                tipMessage = "今天是月经期第一天，多休息不要劳累";
            } else if (extraJobCron.getRemark().equals(RemindConstant.MENSES_PRE_DAY)) {
                tipMessage = "明天是月经期第一天，提前准备好必用品";
            } else if (extraJobCron.getRemark().equals(RemindConstant.MENSES_OVULATION_DAY)) {
                tipMessage = "今天是排卵日，不要熬夜，容易伤身体";
            } else if (extraJobCron.getRemark().equals(RemindConstant.MENSES_OVULATION_PRE_DAY)) {
                tipMessage = "明天是排卵日，多喝白开水多吃瓜果蔬菜";
            } else if (extraJobCron.getRemark().equals(RemindConstant.MENSES_SAFE_DAY)) {
                tipMessage = "今天是安全日第一天";
            } else if (extraJobCron.getRemark().equals(RemindConstant.MENSES_SAFE_PRE_DAY)) {
                tipMessage = "明天是安全日第一天";
            } else if (extraJobCron.getRemark().equals(RemindConstant.MENSES_OVULATION_DURATION_DAY)) {
                tipMessage = "今天是排卵期第一天，注意个人卫生";
            } else if (extraJobCron.getRemark().equals(RemindConstant.MENSES_OVULATION_DURATION_PRE_DAY)) {
                tipMessage = "明天是排卵期第一天，注意不要感冒";
            }
        }
        return TipMessageDTO.builder()
                .openId(mensesRemindTask.getUnicode())
                .remindName(mensesRemindTask.getRemindName())
                .remindDescription(tipMessage)
                .remindType("生理期")
                .remainTime(extraJobCron.getRemainTime())
                .remindWayType(extraJobCron.getRemark())
                .build();
    }

}
